// 给定二叉搜索树（BST）的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在，则返回 NULL。
// 思路1，递归
function searchBST(root, val) {
    if (!root || root.val === val) {
        return root
    }
    if (root.val > val) {
        return searchBST(root.left, val)
    } else {
        return searchBST(root.right, val)
    }
}

// 思路2， 迭代
function searchBST2(root, val) {
    while (root) {
        if (root.val > val) {
            root = root.left
        } else if (root.val < val) {
            root = root.right
        } else {
            return root
        }
    }
    return root
}

const root = {
    val: 4,
    left: {
        val: 3,
        left: {
            val: 2,
        },
        right: {
            val: 3.5,
            left: {
                val: 3.1
            }
        },
    },
    right: {
        val: 6,
    },
};

console.log(searchBST(root, 3.5))
console.log(searchBST2(root, 3.5))